1. Field of the Invention
The present invention relates to a method and a system for processing an access to a disk block, and more particularly, to a method and a system for processing accesses of different operating system (OS) domains to a disk block in an environment using a virtual machine monitor (VMM).
2. Description of the Related Art
A computer file system maintains and manages files and data stored in the files such that the files and the data can be easily stored and found. While the file system uses physical storage spaces such as hard disks or CD-ROMs, as storage units, a file system such as a network file system and a shared disk file system may use a virtual interface for accessing files existing on a network as a storage unit.
File systems are classified into a disk file system, a network file system and a file system for special purpose. The disk file system is designed to store files in a data storage unit, particularly, a disk drive connected to a computer.
FIG. 1 is a diagram for explaining a disk access in a conventional network file system. The network file system allows a disk drive of a remote node to be accessed as if it is a local disk. Referring to FIG. 1, data of a disk drive 120 is copied to a buffer cache 111 on a main memory of a node 1 110 corresponding to a remote node, transmitted to a node 0 100 through a network 130 and stored in a buffer cache 101 on a main memory of the node 0 100. This data is provided to an application. However, the network file system has a large overhead with respect to data copy because data on the disk drive can be accessed only through a remote node, that is, the node 1 110.
The shared disk file system enables an access to disk drives directly connected to a storage area network (SAN) or a TCP/IP network. When a plurality of nodes share the same disk drive, a technique for maintaining data consistency is required. Each node has a buffer cache and allows only one copy for the same disk block for data consistency. To achieve this, block lock is required before the disk drive is accessed. The block lock is obtained using an additional server node managing block lock or a block lock mechanism provided by a disk.
The shared disk file system has a data copy overhead smaller than that of the network file system because data of a disk drive is directly copied to a buffer cache of a node that wants to access the data without help of other nodes.
A virtual machine is an abstracted hardware structure that allows various operating systems to be executed without being affected by hardware. Various operating systems and software can be executed irrespective of hardware and multiple operating systems can be executed in a single computer by using the virtual machine. For example, a single hardware element simultaneously executes a plurality of virtual systems such that it looks like a plurality of systems exist.
A conventional system has a structure in which an operating system controls hardware to allow an application to use the hardware through a standard application programming interface (API) and the application is operated on the operating system. In a virtual machine structure, however, an operating system is executed while it mistakes a virtual hardware environment provided by a virtual machine monitor for substantial hardware and an application uses virtual hardware through an API provided by the operating system.
Conventional disk file systems including the network file system and the shared disk file system are used to share disk data between different computing devices and, when they are applied to a virtual machine monitor environment, overhead of data copy and integrity of data cannot be secured.
Specifically, the network file system searches a buffer cache of a remote node when data is missed in a buffer cache and moves the data to a local node through a network when the data is hit in the buffer cache of the remote node. When the network file system is applied to a virtual machine monitor environment, however, data is copied between different operating system (OS) domains at the same node. Furthermore, the shared disk file system cannot control direct access of nodes to a disk drive, and thus arbitrary data recorded on a disk can be overwritten to generate data corruption.